﻿using System;
using System.Collections.Generic;

namespace HCMUS_SearchService_Group2
{
    /////////////////////////////////////////////////
    /// \brief DTO kết quả trả về của DefaultSearchEngine.Search(string, int).
    /// \author Trần Minh Nhật -   0912321.
    /// \details <h3>Hiển thị danh sách kết quả và xử lý tương tác</h3>
    ////////////////////////////////////////////////
    public class ContentDataDTO
    {
        private int index;

        public int Index
        {
            get { return this.index; }
            set { this.index = value; }
        }

        private int maDuLieu;

        public int MaDuLieu
        {
            get { return maDuLieu; }
            set { maDuLieu = value; }
        }

        private string serviceName = string.Empty;

        public string ServiceName
        {
            get { return this.serviceName; }
            set { this.serviceName = value; }
        }

        private string locationName = string.Empty;

        public string LocationName
        {
            get { return this.locationName; }
            set { this.locationName = value; }
        }

        private string address = string.Empty;

        public string Address
        {
            get { return this.address; }
            set { this.address = value; }
        }

        private string streetName = string.Empty;

        public string StreetName
        {
            get { return this.streetName; }
            set { this.streetName = value; }
        }

        private string wardName = string.Empty;

        public string WardName
        {
            get { return this.wardName; }
            set { this.wardName = value; }
        }

        private string districtName = string.Empty;

        public string DistrictName
        {
            get { return this.districtName; }
            set { this.districtName = value; }
        }

        private string cityName = string.Empty;

        public string CityName
        {
            get { return this.cityName; }
            set { this.cityName = value; }
        }

        private double kinhDo;

        public double KinhDo
        {
            get { return this.kinhDo; }
            set { this.kinhDo = value; }
        }

   
      private double viDo;

        public double ViDo
        {
            get { return this.viDo; }
            set { this.viDo = value; }
        }

        private string chuThich = string.Empty;

        public string ChuThich
        {
            get { return this.chuThich; }
            set { this.chuThich = value; }
        }

        private string sourceImgService = string.Empty;

        public string SourceImgService
        {
            get { return this.sourceImgService; }
            set { this.sourceImgService = value; }
        }

        private string sourceMap = string.Empty;

        public string SourceMap
        {
            get { return this.sourceMap; }
            set { this.sourceMap = value; }
        }

        /////////////////////////////////////////////////
        /// \brief Hàm khởi tạo.
        /// \param[in] Không
        /// \param[out] Không
        /// \returns Không
        /// \details <h3>Khởi tạo các biến</h3>
        /////////////////////////////////////////////////
        public ContentDataDTO()
        {
        }

        /////////////////////////////////////////////////
        /// \brief Hàm khởi tạo.
        /// \param[in] int
        /// \param[in] string
        /// \param[in] string
        /// \param[in] string
        /// \param[in] string
        /// \param[in] string
        /// \param[in] string
        /// \param[in] string
        /// \param[in] double
        /// \param[in] double
        /// \param[in] string
        /// \param[out] Không
        /// \returns Không
        /// \details <h3>Khởi tạo các biến.</h3>
        /////////////////////////////////////////////////
        public ContentDataDTO(int _inputIndex,
                            int _maDuLieu,
                            string _inputServiceName,
                            string _inputLocationName,
                            string _inputAddressName,
                            string _inputStreetName,
                            string _inputWardName,
                            string _inputDistrictName,
                            string _inputCityName,
                            double _inputKinhdo,
                            double _inputVido,
                            string _inputChuThich)
        {
            this.index = _inputIndex;
            this.MaDuLieu = _maDuLieu;
            this.serviceName = _inputServiceName;
            this.locationName = _inputLocationName;
            this.address = string.Format("{0} {1}, Q. {2}", _inputAddressName, _inputStreetName, _inputDistrictName);
            this.streetName = _inputStreetName;
            this.wardName = _inputWardName;
            this.districtName = _inputDistrictName;
            this.cityName = _inputCityName;
            this.kinhDo = _inputKinhdo;
            this.viDo = _inputVido;
            this.chuThich = _inputChuThich;
            this.sourceImgService = this.GetSourceByServiceName(_inputServiceName);
            this.SourceMap = string.Format("/HCMUS_SearchService_Group2;component/Images/Map/{0}_{1}.png", _inputVido, _inputKinhdo);
        }

        /////////////////////////////////////////////////
        /// \brief Hàm lấy chuỗi đường dẫn của hình ảnh.
        /// \param[in] string
        /// \param[out] Không
        /// \returns string
        /// \details <h3>Trả về chuỗi đường dẫn của hình ảnh tương ứng với loại dịch vụ.</h3>
        /////////////////////////////////////////////////
        private string GetSourceByServiceName(string serviceName)
        {
            if (serviceName.Equals("Bệnh viện"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/hos[0].png";
            }

            if (serviceName.Equals("Trường học"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/school[0].png";
            }

            if (serviceName.Equals("Quán café"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/coffee[0].png";
            }

            if (serviceName.Equals("Quán ăn"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/food[0].png";
            }

            if (serviceName.Equals("ATM"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/atm[0].png";
            }

            if (serviceName.Equals("Shop thời trang"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/fashion_shop[0].png";
            }

            if (serviceName.Equals("Tiệm hớt tóc"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/barber[0].png";
            }

            if (serviceName.Equals("Karaoke"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/karaoke[0].png";
            }

            if (serviceName.Equals("Nhà hàng"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/res[0].png";
            }

            if (serviceName.Equals("Khách sạn"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/hotel[0].png";
            }

            if (serviceName.Equals("Công viên"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/park[0].png";
            }

            if (serviceName.Equals("Chợ"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/market[0].png";
            }

            if (serviceName.Equals("Rạp chiếu phim"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/cinema[0].png";
            }

            if (serviceName.Equals("Sân bóng đá"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/football[0].png";
            }

            if (serviceName.Equals("Bến xe"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/station[0].png";
            }

            if (serviceName.Equals("Phòng khám"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/clinic[0].png";
            }

            if (serviceName.Equals("Bến xe bus"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/bus[0].png";
            }

            if (serviceName.Equals("Trạm xăng"))
            {
                return "/HCMUS_SearchService_Group2;component/Images/fuel[0].png";
            }

            return string.Empty;
        }
    }
}
